package com.example.springboot.controller;

/*
 * 功能：提供接口，返回数据
 * 日期：2024-3-18 21:47
 * 作者：RabbitQ
 */

import cn.hutool.core.util.StrUtil;
import com.example.springboot.common.Result;
import com.example.springboot.entity.User;
import com.example.springboot.service.UserService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;


@CrossOrigin
@RestController //返回jason或者数据的Controller
public class WebController {

    @Resource
    UserService userService;

    @RequestMapping("/") //表示这个方法是提供数据的，默认是get请求，默认地址为——http://localhost:8080/
    public Result hello() {
        return Result.success("success");
    }


    //登录接口
    @PostMapping("/login")
    public Result login(@RequestBody User user) {  //@RequestBody——将前端传来的数据转化为Java对象
        /*if(user.getUsername() == null || user.getName() == null){
            return Result.error("用户名或密码错误");
        }*/

        if (StrUtil.isBlank(user.getUsername()) || StrUtil.isBlank(user.getPassword())) {//用hutool-all校验前端输入数据格式正确性
            return Result.error("用户名或密码错误");
        }
        user = userService.login(user);

        return Result.success(user);
    }

    //注册接口
    @PostMapping("/register")
    public Result register(@RequestBody User user) {

        System.out.println(user.getUsername() + "  " + user.getPassword());
        if (StrUtil.isBlank(user.getUsername()) || StrUtil.isBlank(user.getPassword())) {//用hutool-all校验前端输入数据格式正确性
            return Result.error("用户名和密码不能为空");
        }

        user = userService.register(user);

        return Result.success(user);
    }


    /*
     * 前后端数据交互一般采用jason格式，Result对象，不推荐使用数组类型
     *
     *
     * */

}
